export default {

	config: {
		baseURL: '/api', //跨域
		// baseURL: 'http://39.107.241.137:9798', //测试地址
		// baseURL: 'http://61.182.247.198:88/callcenterApp', //正式地址
		// getToken() {
		// 	// 同步获取数据
		// 	let token = uni.getStorageSync('userToken');
		// 	if (!token) {
		// 		return uni.switchTab({
		// 			url: '/pages/login/login'
		// 		})
		// 	}
		// 	return token
		// },
		// 请求拦截器
		beforeRequest(options = {}) {
			// alert('312313')
			// 判断如果不是最新消息接口 走showLoading
			uni.showLoading({
				title: "加载中",
				mask: true
			});
			return new Promise((resolve, reject) => {
				options.url = this.baseURL + options.url;
				options.method = options.method || 'GET';
				options.formData = options.data ? options.data : {};
				options.header = {
					"Content-Type": options.ContentType ? options.ContentType :
						"application/x-www-form-urlencoded",
					// "Authorization": this.getToken()
				}

				resolve(options)
			})
		},
		// 响应拦截器
		handleResponse(dataS) {
			return new Promise((resolve, reject) => {

				const {
					errMsg,
					data
				} = dataS;
				uni.hideLoading();
				if (data.code == '20011' || data.code == '20007') {
					console.log('20011----', data.message)
					uni.reLaunch({
						url: '/pages/login/login'
					})
					// uni.switchTab({
					// 	url: '/pages/login/login'
					// })
				}
				if (dataS && dataS.statusCode !== 200) {
					let msg = data.data.message || '请求错误';
					uni.showToast({
						icon: 'none',
						title: msg
					})
					return reject(msg)
				}
				if (errMsg !== 'request:ok') {
					uni.showToast({
						icon: 'none',
						title: '请求错误'
					})
					return reject(errMsg)
				}
				return resolve(dataS.data)
			})
		},
	},
	request(options = {}) {
		return this.config.beforeRequest(options).then(opt => {
			return uni.request(opt)
		}).then(res => this.config.handleResponse(res))
	}
}